/**
  CNOK project, Anyang Normal University, IMP-CAS
  \class TARsMom
  \brief calculate the inclusive momentum distribution of one-nucleon knockout
  residue for intermediate-energy single-nucleon knockout reactions. This is a
  derived class of TARs
  \author SUN Yazhou, asia.rabbit@163.com
  \since 2022/06/21
  \date Last modified: 2022/06/21 by SUN Yazhou
  \copyright 2020-2023 SUN Yazhou
  \copyright CNOK project, Anyang Normal University, IMP-CAS
*/

#ifndef _TARsMom_h_
#define _TARsMom_h_

#include <vector>
#include "TARs.h"

using std::vector;

class TARsMom : public TARs{
public:
  TARsMom(int a);
  virtual ~TARsMom(){}

  void AssignKz(int n, const double *kz); ///< assign the momentum mesh
  void AddConfig(const string &orbit, double ex, double c2s, const double *momstr,
    const double *momtot);
  void Mom(); ///< calculate the inclusive momdis

protected:
  int fNmomc;
  vector<double> fKz;
  vector<vector<double>> fMomStr, fMomTotal; ///< [config][fNmomc]
  vector<double> fInclStr, fInclTotal; ///< the inclusive str and tot momdis [fNmomc]
};

#endif
